home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il / IL.z / IL
Encoding:
Text File  |  2002-10-03  |  21.6 KB  |  529 lines

  1.  
  2.  
  3.  
  4. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      IIIILLLL - overview of ImageVision Library
  10.  
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      The ImageVision Library (IL) is an object-oriented, extensible toolkit
  14.      for creating, processing, and displaying images. IL consists of a library
  15.      developed in C++. An interface for C programmers is provided in a
  16.      supporting library.
  17.  
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      IL organizes the diverse I/O, computation, and display requirements of an
  21.      image-processing application into a set of coordinated object classes.
  22.      These classes are outlined in the following sections.
  23.  
  24.  
  25.    IIIImmmmaaaaggggeeee CCCCllllaaaassssssss
  26.      The foundation and unifying concept of IL is the image object. All image
  27.      types are derived from a common object definition. These image types
  28.      include:
  29.  
  30.           a memory image, implemented as a contiguous array,
  31.  
  32.           a file image that acceses image data stored in files,
  33.  
  34.           and an operator image that implements an image-processing algorithm.
  35.  
  36.      By sharing common mechanisms for manipulating data and attributes, all
  37.      image types can be handled in a consistent fashion. This results in a
  38.      streamlined programming model that greatly simplifies application
  39.      development.  See the iiiillllIIIImmmmaaaaggggeeee(3) man page for more details.
  40.  
  41.  
  42.    FFFFiiiilllleeee IIII////OOOO CCCCllllaaaassssssss
  43.      The file I/O model abstracts how images are accessed from disk. File
  44.      images use a look-ahead buffer or cache to minimize delays caused by disk
  45.      I/O. The common object definition allows an application to transparently
  46.      support the different file formats supported by IL.  You can easily
  47.      integrate new file formats into IL without modifying the application.
  48.      See the iiiillllFFFFiiiilllleeeeIIIImmmmgggg(3) man page for details on accessing image files.  See
  49.      the IIIIFFFFLLLL(3) man page and the IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy PPPPrrrrooooggggrrrraaaammmmmmmmiiiinnnngggg GGGGuuuuiiiiddddeeee for
  50.      details on adding your own file formats.
  51.  
  52.  
  53.    OOOOppppeeeerrrraaaattttoooorrrr CCCCllllaaaasssssssseeeessss
  54.      IL implements a pull-execution (or demand-driven) model, such that data
  55.      is processed only on demand. The model is based on the same cached-image
  56.      model as file images. This technique enables an application to process
  57.      just the area of interest providing significant benefits in terms of
  58.      reduced I/O and improved system performance. The pull-execution model
  59.      also enables IL to efficiently support chaining or linking image-
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  71.  
  72.  
  73.  
  74.      processing operators. This allows a sequence of operations to be
  75.      performed on a subregion without creating temporary images to hold
  76.      intermediate results.  See the iiiillllOOOOppppIIIImmmmgggg(3) man page and the class summary
  77.      section below.
  78.  
  79.  
  80.    DDDDiiiissssppppllllaaaayyyy CCCCllllaaaassssssss
  81.      The display object defines how images are displayed on the screen. It
  82.      provides an abstraction of an X window and can display one or more images
  83.      in subregions of the window called views. The display model provides
  84.      methods to move, resize, reorder, and select views to be operated on by
  85.      display operators such as split, wipe, inset, and translate. This model
  86.      allows the application to conveniently specify how images are to be
  87.      displayed while automatically optimizing to only draw the portions of
  88.      each image that are exposed.  See the iiiillllDDDDiiiissssppppllllaaaayyyy man page.
  89.  
  90.  
  91. MMMMUUUULLLLTTTTIIII----PPPPRRRROOOOCCCCEEEESSSSSSSSOOOORRRR SSSSUUUUPPPPPPPPOOOORRRRTTTT
  92.      The IL automatically executes processing requests in parallel on multi-
  93.      processor systems.  This can greatly speed the processing of large
  94.      images.
  95.  
  96.      For debugging, you can disable the multi-processing feature of IL by
  97.      setting  the environment variables, IIIILLLL____CCCCOOOOMMMMPPPPUUUUTTTTEEEE____TTTTHHHHRRRREEEEAAAADDDDSSSS and
  98.      IIIILLLL____RRRREEEEAAAADDDD____TTTTHHHHRRRREEEEAAAADDDDSSSS, to 0 prior to running an IL based application.  See the
  99.      iiiillllMMMMppppSSSSeeeettttMMMMaaaaxxxxCCCCoooommmmppppuuuutttteeeeTTTThhhhrrrreeeeaaaaddddssss(3) man page for more information.
  100.  
  101.  
  102. GGGGRRRRAAAAPPPPHHHHIIIICCCCSSSS HHHHAAAARRRRDDDDWWWWAAAARRRREEEE SSSSUUUUPPPPPPPPOOOORRRRTTTT
  103.      When displaying on SGI platforms IL automatically takes advantage of the
  104.      graphics hardware features that can accelerate the requested operations.
  105.      IL automatically evaluates any operator chain that terminates in a
  106.      display window; operations at the end of the chain that can be collapsed
  107.      together and executed in the graphics pipeline will be performed there.
  108.  
  109.      The Impact, RealityEngine and InfiniteReality graphics subsystems include
  110.      special support (p-buffers) that allows operator chains requiring
  111.      multiple passes through the graphics pipeline to be accelerated. P-
  112.      buffers are allocated in the frame buffer by IL to hold intermediate
  113.      results between passes. These buffers are independent of the windowing
  114.      system, so results are not affected  by partially obscured windows or
  115.      edge effects on neighborhood operations.
  116.  
  117.      In some cases hardware acceleration may not be desired, perhaps due to
  118.      precision considerations.  This acceleration can be turned off by setting
  119.      the environment variable, IIIILLLL____HHHHWWWW____AAAACCCCCCCCEEEELLLLEEEERRRRAAAATTTTEEEE, to 0 prior to running an IL
  120.      based application.  See the iiiillllHHHHwwwwSSSSeeeettttGGGGlllloooobbbbaaaallllEEEEnnnnaaaabbbblllleeee(3) man page for more
  121.      details.  Acceleration can also be controlled on individual image objects
  122.      using the sssseeeettttHHHHwwwwEEEEnnnnaaaabbbblllleeee() method of ilImage.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  137.  
  138.  
  139.  
  140. TTTTUUUUNNNNIIIINNNNGGGG AAAANNNNDDDD DDDDEEEEBBBBUUUUGGGG SSSSUUUUPPPPPPPPOOOORRRRTTTT
  141.      A graphical tool that can be used to monitor image objects and the image
  142.      data cache is included with the IL development package. This tool, called
  143.      the _I_L _m_o_n_i_t_o_r, is invoked simply by setting the environment variable,
  144.      IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR, to either 1 or 2; a value of 2 gives full support, a value of
  145.      1 gives a less intrusive level of support.  See the IIIILLLLmmmmoooonnnniiiittttoooorrrr(1) man page
  146.      for more details.
  147.  
  148.  
  149. DDDDIIIITTTTHHHHEEEERRRRIIIINNNNGGGG CCCCOOOONNNNTTTTRRRROOOOLLLL FFFFOOOORRRR CCCCOOOOLLLLOOOORRRR----IIIINNNNDDDDEEEEXXXX IIIIMMMMAAAAGGGGEEEESSSS
  150.      IL maintains a global dithering mode, that can be used to control the
  151.      dithering used to produce color-index images. See the iiiillllSSSSeeeettttDDDDiiiitttthhhheeeerrrr(3) man
  152.      page for more details.
  153.  
  154.  
  155. CCCCLLLLAAAASSSSSSSS SSSSUUUUMMMMMMMMAAAARRRRYYYY
  156.    IIIImmmmaaaaggggeeee IIIImmmmppppoooorrrrtttt////EEEExxxxppppoooorrrrtttt FFFFuuuunnnnccccttttiiiioooonnnnssss
  157.      ilFileImg         Provides the basis for tranferring image data to and
  158.                        from image files, this is IL's  interface to the Image
  159.                        Format Library (IFL).
  160.  
  161.      ilMemoryImg       Accesses a contiguous array of data as an ilImage.
  162.  
  163.  
  164.    CCCCoooolllloooorrrr CCCCoooonnnnvvvveeeerrrrssssiiiioooonnnn
  165.      ilFalseColorImg   Performs false coloring of multispectral images.
  166.  
  167.      ilColorImg        Performs color conversion to an indicated color model.
  168.  
  169.      ilRGBImg          Performs RGB color conversion.
  170.  
  171.      ilCMYKImg         Performs CMYK color conversion.
  172.  
  173.      ilHSVImg          Performs HSV color conversion.
  174.  
  175.      ilGrayImg         Performs grayscale color conversion.
  176.  
  177.      ilSGIPaletteImg   Performs color conversion to use the system's default
  178.                        GL color map.
  179.  
  180.      ilSaturateImg     Performs color saturation of an image
  181.  
  182.  
  183.    AAAArrrriiiitttthhhhmmmmeeeettttiiiicccc FFFFuuuunnnnccccttttiiiioooonnnnssss
  184.      ilAbsImg          Computes the pixelwise absolute value on an image.
  185.  
  186.      ilAddImg          Performs a pixelwise addition of two images.
  187.  
  188.      ilAndImg          Performs a pixelwise logical-and of two images.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  203.  
  204.  
  205.  
  206.      ilDivImg          Performs a pixelwise division of two images.
  207.  
  208.      ilExpImg          Computes the pixelwise exponent of an image.
  209.  
  210.      ilInvertImg       Computes the complement of an image.
  211.  
  212.      ilLogImg          Computes the pixelwise log on an image.
  213.  
  214.      ilMaxImg          Performs a pixelwise maximum or `>' of two images.
  215.  
  216.      ilMinImg          Performs a pixelwise minimum or `<' of two images.
  217.  
  218.      ilMultiplyImg     Performs a pixelwise multiplication of two images.
  219.  
  220.      ilNegImg          Computes the pixelwise negation on an image.
  221.  
  222.      ilOrImg           Performs a pixelwise logical-or of two images.
  223.  
  224.      ilPowerImg        Performs a power law scaling of an image.
  225.  
  226.      ilSqRootImg       Computes the pixelwise square root of an image.
  227.  
  228.      ilSquareImg       Computes the pixelwise square of an image.
  229.  
  230.      ilSubtractImg     Performs a pixelwise subtraction of two images.
  231.  
  232.      ilXorImg          Performs a pixelwise exclusive-or of two images.
  233.  
  234.  
  235.    RRRRaaaaddddiiiioooommmmeeeettttrrrriiiicccc TTTTrrrraaaannnnssssffffoooorrrrmmmmssss
  236.      ilHistEqImg       Performs histogram equalization of an image.
  237.  
  238.      ilHistNormImg     Transforms image to desired means and standard
  239.                        deviation.
  240.  
  241.      ilHistScaleImg    Performs histogram scaling of an image.
  242.  
  243.      ilScaleImg        Performs a linear scale of an image.
  244.  
  245.      ilThreshImg       Performs thresholding of an image.
  246.  
  247.  
  248.    GGGGeeeeoooommmmeeeettttrrrriiiicccc TTTTrrrraaaannnnssssffffoooorrrrmmmmssss
  249.      ilRotZoomImg      Rotates, zooms; translates an image with optional flip.
  250.  
  251.      ilWarpImg         Performs generalized warp on an image.
  252.  
  253.      ilTieWarpImg      Performs a tie-point warp on an image.
  254.  
  255.      ilAffineWarp      Defines a 2D affine coordinate transformation.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  269.  
  270.  
  271.  
  272.      ilPerspWarp       Defines a 2D perspective warp.
  273.  
  274.      ilPolyWarp        Defines up to a seventh-order polynomial warping
  275.                        function.
  276.  
  277.  
  278.    SSSSttttaaaattttiiiissssttttiiiiccccssss
  279.      ilImgStat         Computes the histogram, mean, and standard deviation
  280.                        pixel values of an image.
  281.  
  282.  
  283.    NNNNoooonnnn----ssssppppaaaattttiiiiaaaallll DDDDoooommmmaaaaiiiinnnn TTTTrrrraaaannnnssssffffoooorrrrmmmmssss
  284.      ilRFFTfImg        Performs forward Fourier transform on an image.
  285.  
  286.      ilRFFTiImg        Performs an inverse Fourier transform on an image.
  287.  
  288.      ilFConjImg        Computes the conjugate of an image and normalizes the
  289.                        complex value by a real factor.
  290.  
  291.      ilFCrCorrImg      Computes the cross correlation of two images.
  292.  
  293.      ilFDivImg         Divides two FFT images.
  294.  
  295.      ilFExpFiltImg     Applies a Fourier domain filter to a Fourier domain
  296.                        image.
  297.  
  298.      ilFGaussFiltImg   Applies a Gaussian domain filter to a Fourier domain
  299.                        image.
  300.  
  301.      ilFMagImg         Accesses only the magnitude values of an FFT image.
  302.  
  303.      ilFMergeImg       Merges two single-band images and accesses them as an
  304.                        FFT image.
  305.  
  306.      ilFMultImg        Multiplies two FFT images.
  307.  
  308.      ilFPhaseImg       Accesses only the phase values of an FFT image.
  309.  
  310.      ilFRaisePwrImg    Raises the Fourier coefficients of an FFT image by a
  311.                        power in the log domain.
  312.  
  313.      ilFSpectImg       Computes the spectrum of a fourier domain image
  314.  
  315.  
  316.    SSSSppppaaaattttiiiiaaaallll DDDDoooommmmaaaaiiiinnnn TTTTrrrraaaannnnssssffffoooorrrrmmmmssss
  317.      ilBlurImg         Blurs an image.
  318.  
  319.      ilConvImg         Convolves an image with specified arbitrary kernel.
  320.  
  321.      ilGBlurImg        Performs a Gaussian blur on an image.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  335.  
  336.  
  337.  
  338.      ilMaxFltImg       Performs a maximum filter on an image.
  339.  
  340.      ilMedFltImg       Performs a median filter on an image.
  341.  
  342.      ilMinFltImg       Performs a minimum filter on an image.
  343.  
  344.      ilRankFltImg      Performs a rank filter on an image.
  345.  
  346.      ilSepConvImg      Convolves an image with specified separable kernel.
  347.  
  348.      ilSharpenImg      Sharpens an image.
  349.  
  350.      ilSpatialImg      Provides the basis for generalized spatial or
  351.                        neighborhood operators.
  352.  
  353.  
  354.    EEEEddddggggeeee,,,, LLLLiiiinnnneeee,,,, &&&& SSSSppppooootttt DDDDeeeetttteeeeccccttttiiiioooonnnn
  355.      ilCompassImg      Performs a 2D, 3x3 gradient transform on an image.
  356.  
  357.      ilLaplaceImg      Performs a 2D, 3x3 Laplace transform on an image.
  358.  
  359.      ilRobertsImg      Computes the gradient vector of an image by performing
  360.                        two 2D spatial convolutions in the x and y directions,
  361.                        using the 3x3 Roberts kernels.
  362.  
  363.      ilSobelImg        Computes the gradient vector of an image by performing
  364.                        two 2D spatial convolutions in the x and y directions,
  365.                        using the 3x3 Sobel kernels.
  366.  
  367.  
  368.    MMMMoooorrrrpppphhhhoooollllooooggggiiiiccccaaaallll OOOOppppeeeerrrraaaattttiiiioooonnnnssss
  369.      ilDilateImg       Performs a morphological dilation on an image.
  370.  
  371.      ilErodeImg        Performs a morphological erosion on an image.
  372.  
  373.  
  374.    MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss
  375.      ilBlendImg        Blends two images.
  376.  
  377.      ilCombineImg      Combines two images based on an ROI mask.
  378.  
  379.      ilCompoundImg     Abstract class to manage a subchain as if it was a
  380.                        single object.
  381.  
  382.      ilConstImg        Constant valued image
  383.  
  384.      ilELTImg          Performs Electronic Light Table functions
  385.  
  386.      ilLutImg          Performs look-up table manipulation of an image.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  401.  
  402.  
  403.  
  404.      ilMergeImg        Merges several images into one.
  405.  
  406.      ilNopImg          Performs page size, data type, order and coordinate
  407.                        space conversions on an image.
  408.  
  409.      ilPiecewiseImg    Performs a look-up translation of an image using a
  410.                        piecewise linear mapping function.
  411.  
  412.      ilRoiImg          Masks accesses to an image by an ROI mask.
  413.  
  414.      ilSubImg          Selects a rectangular subregion and/or channel subset
  415.                        of an image.
  416.  
  417.      ilSwitchImg       Implements a switch construct in an image operator
  418.                        chain.
  419.  
  420.  
  421.    DDDDiiiissssppppllllaaaayyyy
  422.      ilFrameBufferImg  Abstract class for displayed images.
  423.  
  424.      ilXWindowImg      Displays an image in an X window with X-rendering.
  425.  
  426.      ilDisplay         Manages the display of images in an X window.
  427.  
  428.      ilViewer          Adds some basic X event loop support to the ilDisplay
  429.                        object.
  430.  
  431.      ilView            Maps an ilImage or XImage to a rectangular area within
  432.                        an ilDisplayImg.
  433.  
  434.      ilStereoView      Maps a pair of images to a rectangular area within an
  435.                        ilDisplayImg and displays them as a stereo pair.
  436.  
  437.  
  438.    VVVViiiieeeewwwwKKKKiiiitttt ssssuuuuppppppppoooorrrrtttt
  439.      ilVkDetailView    Displays detailed image pixel information.
  440.  
  441.      ilVkFileInfo      Displays information about an image file.
  442.  
  443.      ilVkHistGraph     Displays graph of histogram for an image.
  444.  
  445.      ilVkImgAttributes Displays editable image attributes.
  446.  
  447.      ilVkImgInfo       Displays information about an image.
  448.  
  449.      ilVkRotZoomView   Rotates and zooms a single ilImage.
  450.  
  451.      ilVkSaveDialog    Puts up an dialog to specify an image file to save to.
  452.  
  453.      ilVkView          Statically displays a single ilImage.
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. IIIILLLL((((3333))))              IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll              IIIILLLL((((3333))))
  467.  
  468.  
  469.  
  470.      ilVkViewer        Dynamically displays multiple ilImages.
  471.  
  472.      ilVkWindow        Top-level window for displaying multiple images.
  473.  
  474.  
  475. FFFFIIIILLLLEEEESSSS
  476.      /usr/include/il/*.h                     header files
  477.  
  478.      /usr/lib/libil.a                        C++ library
  479.  
  480.      /usr/lib/libcil.a                       C library
  481.  
  482.      /usr/lib/libilMon.so                    IL monitor shared object
  483.  
  484.      /usr/share/src/il/                      Example source
  485.  
  486.      /usr/share/catman/p_man/cat3/il/*.z     C++ man pages
  487.  
  488.      /usr/share/catman/p_man/cat3/il_c/*.z   C man pages
  489.  
  490. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  491.      IL(1), ILmonitor(1), ilImage(3), ilOpImg(3), ilFileImg(3), ilDisplay(3),
  492.      ilHwSetGlobalEnable(3), ilMpSetMaxComputeThreads(3)
  493.  
  494.      Please refer to the _I_m_a_g_e_V_i_s_i_o_n _L_i_b_r_a_r_y _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e for a full
  495.      description of overall concepts and architecture.
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.